//
//  DYPrintCmd.h
//  DYPrintSDK
//
//  Created by mr.ye on 2023/11/20.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSUInteger, DYPrintPaperType ) {
    DYPrintPaperTypeRolled = 0x10,//卷纸
    DYPrintPaperTypeFolded = 0x30,//折叠纸
    DYPrintPaperTypeBlack = 0x20,//黑标纸
};

typedef NS_ENUM(NSUInteger, LuckBLEManagerStatus ) {
    DYBLEManagerStatusBusy= -1,//繁忙
    DYBLEManagerStatusOk= 0,//正常
    DYBLEManagerStatusNoPaper=1,//没有纸
    DYBLEManagerStatusNoClose=2,//没关闭
    DYBLEManagerStatusPrinting=3,//打印中
    DYBLEManagerStatusLowBattery=4,//低电量
    DYBLEManagerStatusOverheating=5,//热
};


@interface DYPrintCmd : NSObject

//使能打印机1
+ (NSData *)printerEnabel;
//唤醒打印机1
+ (NSData *)printerWake;
//处理打印图片1
+ (NSData *)printImageCmd:(UIImage *)image;

//A4压缩图片
+ (NSData *)compressPrintImageCmd:(UIImage *)image;

//走纸1
+ (NSData *)printerWalk:(NSUInteger)walk;
//停止打印1
+ (NSData *)printerStop;

//状态指令1
+ (NSData *)stateCmd;

//信息指令1
+ (NSData *)getInfoCmd;

//获取关机时间1
+ (NSData *)closeTimeCmd;

//获取型号1
+ (NSData *)getModelCmd;

//浓度获取1
+ (NSData *)getThickCmd;

//出纸1
+ (NSData *)printerOut;

//设置纸张类型
+ (NSData *)setPaperTypeDataCmd:(DYPrintPaperType)type;

//进纸1
+ (NSData *)printerEnter;

//设置关机时间1
+ (NSData *)setShutTimeCmd:(NSUInteger)closeTime;

//设置浓度
+ (NSData *)setColorCmd:(NSUInteger)thick;

//定位标签缝隙(2寸使用)
+ (NSData *)printerLocation;

//定位缝隙 (A4)
+(NSData*)printerLocationA4:(DYPrintPaperType)mode;


//----------Other-------
+ (NSData *)willUpdate;

+ (NSData *)searchWillUpdate;

+ (NSData *)cleanMemory:(NSData *)data;

+ (NSData *)restartPrinter;
@end

NS_ASSUME_NONNULL_END
